The present invention relates to computers and computer software and more specifically to a relay server for unsigned Java applets.
The Internet is a network of networks linking many computers throughout the world. The World Wide Web (or simply, the Web, for short) is network, within the Internet, linking computers having graphical content and capability for accessing the content. It has revolutionized the communications industry by providing a user-friendly framework for people to view information on a vast variety of subjects. The Web generally comprises a network of computers that include three classes of units. First, there is a class of units called Web content servers that contain the content to be viewed by end users. Second, there are the ISP (Internet Service Provider) units which provide an end user with the communications links required to use the Web. An ISP unit can be a large computer such as a mainframe or one or more smaller units. An ISP server provides connections for its client units via transport addresses or sockets through which communications occur. These sockets allow processes running on separate network units to refer to one another. A socket comprises information identifying a network number, a host number, and a port assigned by the host. Finally, there are the end user units that are the clients (or subscribers) to the ISP server. The Web also comprises a large number of Web sites, each consisting of at least one page of information and usually some graphical features. These Web sites are generally resident in any of the many Web content servers. Users of the Web can access these Web sites by means of any of several information-handling apparatus (such as a personal computer or microcomputer) having communications circuitry enabling a coupling with a public telecommunications network. These users communicate with the Web servers by using a global protocol called the Internet Protocol or IP.
The Web has become immensely popular largely because of the ease of locating information and the user-friendliness of today's browsers. A feature known as hypertext allows a user to access information from one Web page to another by simply pointing (using a pointing device such as a mouse) at the hypertext and clicking. Another feature that makes the Web attractive is having the ability to process the information (or content) in remote Web pages without the requirement of having a specialized applications program for each kind of content accessed. Thus, the same content is viewed across different platforms. Browser technology has evolved to enable running of applications that manipulate this content across different hardware and software platforms. This feature has been made possible by technology such as Java, which is a programming language developed at Sun Microsystems useful for creating generally small application programs that reside in Web sites accessed by users. These applications programs are called applets or Java applets. By downloading Java applets, a user can access features in Web sites that would not be supported by the user's unit without the applet. Thus, applets provide Web users the ability to use a greater variety of Web resources.
When an applet developer creates an applet, there is an opportunity for that developer to "sign" the applet to identify him or her as its source. However, in many cases, applet developers choose not to sign the applets. Such applets are called "unsigned" applets. There are many unsigned applets on the Web. The formats for signing an applet are different for the two main browsers (Microsoft Internet Explorer and Netscape.) Therefore, developers either have to sign an applet in two different ways or only support one browser. For security reasons, unsigned Java applets downloaded from a Web server can only make socket connections back to the Web server, and not to other machines. Therefore, if a user downloads an unsigned applet and the applet requests network services or resources not present within the ISP server (e.g., communication with a chat group or database), the services will be refused by the network (actually, the Web browser acting as part of the network refuses the resource request). Thus, there is a need for a mechanism by which Web users can get around this network restriction.